window: Fix focus wraparound
authorMatthias Clasen <mclasen@redhat.com>
Tue, 11 Jun 2019 13:14:25 +0000 (13:14 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 11 Jun 2019 14:14:14 +0000 (10:14 -0400)
If tab focus falls off the end, and we have an empty headerbar,
we end up with window->focus == NULL. Don't let that happen

gtk/gtkwindow.c

index 1450873a4593f7799b31c7ddaba561f0dbe73834..7d9a8f803ca9b041f70fa75c7b82ac507cda592a 100644 (file)
@@ -6305,7 +6305,7 @@ gtk_window_focus (GtkWidget        *widget,
   if (old_focus_child)
     {
       if (gtk_widget_child_focus (old_focus_child, direction))
-       return TRUE;
+        return TRUE;
     }
 
   if (priv->focus_widget)
@@ -6348,7 +6348,9 @@ gtk_window_focus (GtkWidget        *widget,
                priv->title_box != child &&
                gtk_widget_child_focus (priv->title_box, direction))
         return TRUE;
-
+      else if (priv->title_box == child &&
+               gtk_widget_child_focus (gtk_bin_get_child (bin), direction))
+        return TRUE;
     }
 
   return FALSE;